package ltd.sumfsy.grain.service;

import ltd.sumfsy.grain.bean.Equipment;

import java.util.Date;
import java.util.List;

/**
 * 设备对应的服务
 * @author 范颂扬
 * @create 2021-05-12 22:14
 */
public interface EquipmentService {

    /**
     * 添加设备
     * @param equipment 设备数据
     * @author 范颂扬
     * @return boolean 返回添加结果
     * @date 2021-05-12 22:19
     */
    boolean add(Equipment equipment);

    /**
     * 根据设备 ID 删除设备
     * @param id 设备 ID
     * @author 范颂扬
     * @return boolean 返回删除结果
     * @date 2021-05-12 22:19
     */
    boolean deleteById(Integer id);

    /**
     * 根据设备 ID 修改设备
     * @param equipment 修改的数据
     * @author 范颂扬
     * @return boolean 返回修改结果
     * @date 2021-05-12 22:20
     */
    boolean alterById(Equipment equipment);

    /**
     * 查询所有的设备
     * @author 范颂扬
     * @return java.util.List<ltd.sumfsy.grain.bean.Equipment> 返回所有的设备列表
     * @date 2021-05-12 22:20
     */
    List<Equipment> queryAll();

    /**
     * 根据设备 ID 查询设备
     * @param id 设备 ID
     * @author 范颂扬
     * @return ltd.sumfsy.grain.bean.Equipment 返回查询到的设备
     * @date 2021-05-12 22:21
     */
    Equipment queryById(Integer id);

    /**
     * 根据时间区间查询设备
     * @param beginTime 起始时间
     * @param endTime 结束时间
     * @author 范颂扬
     * @return java.util.List<ltd.sumfsy.grain.bean.Equipment> 返回查询到的设备列表
     * @date 2021-05-12 22:21
     */
    List<Equipment> queryByTime(Date beginTime, Date endTime);

    /**
     * 根据用户 ID 查询设备
     * @param userId 用户 ID
     * @author 范颂扬
     * @return java.util.List<ltd.sumfsy.grain.bean.Equipment> 返回查询到的设备列表
     * @date 2021-05-12 22:22
     */
    List<Equipment> queryByUserId(Integer userId);

}
